package com.woniu.teachmall.config;

import com.woniu.teachmall.service.service.AdminService;
import com.woniu.teachmall.service.service.AdminServiceProxy;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;

/**
 * AdminService配置类
 * 该类用于配置AdminService Bean，并通过代理模式增强服务功能
 */
@Configuration
public class AdminServiceConfig {

    /**
     * 声明一个AdminService Bean，并使用代理服务来增强功能。
     * 通过@Primary注解标记该Bean为主要Bean，在自动注入时优先使用此Bean。
     *
     * @param proxy AdminServiceProxy实例，代理服务类
     * @return 返回AdminService类型的Bean，代理服务的实例
     */
    @Bean
    @Primary  // 标记该Bean为首选Bean，在自动注入时优先使用此Bean
    public AdminService adminService(AdminServiceProxy proxy) {
        return proxy;  // 返回代理服务的实例，增强AdminService功能
    }
}
